10 IFA=.THENA=1:LOAD"WINDOWS.O",8,1 15 POKE55,.:POKE56,64:CLR 20 DIM FR(200),FC(200),TR(200),TC(200) 25 AD=16384:GOTO1000 30 : 50 SYS 52496,FR,FC,TR,TC,AD,FU,CO,RV 55 AD=AD+(TR-FR+1)*(TC-FC+1)*2:N=N+1 60 FR(N)=FR:FC(N)=FC:TR(N)=TR:TC(N)=TC 65 RETURN 66 : 70 FR=FR(N):FC=FC(N):TR=TR(N):TC=TC(N) 75 AD=AD-(TR-FR+1)*(TC-FC+1)*2:N=N-1 80 SYS 52496,FR,FC,TR,TC,AD,8,1,1 85 RETURN 86 : 90 C(1)=1:C(2)=15:C(3)=12:C(4)=11: 91 FORA=1TO4 92 SYS 52496,2,2,22,37,.,4,C(A),. 93 NEXT:RETURN 94 : 95 C(1)=1:C(2)=15:C(3)=12:C(4)=11: 96 FORA=4TO1STEP-1 97 SYS 52496,2,2,22,37,.,4,C(A),. 98 NEXT:RETURN 99 : 1000 POKE53280,.:POKE53281,.:PRINTCHR$(142)"[147][151]"; 1010 FORA=1TO124:PRINT"LOADSTAR";:NEXT:PRINT"LOADSTR[157][148]A" 1020 FORA=217TO242:POKEA,PEEK(A)OR128:NEXT 1030 FR=1:FC=8:TR=5:TC=31:FU=7:CO=1: RV=2:GOSUB 50 1040 PRINT"LOADSTAR PRESENTS:" 1050 FR=8:FC=4:TR=16:TC=35:RV=14: GOSUB50 1060 PRINT"[154] WINDOWS" 1070 PRINT"[154] BY MIKE MAYNARD" 1080 PRINT"[154] (C)OPYRIGHT 1988" 1090 FR=19:FC=5:TR=23:TC=34:RV=5: GOSUB 50 1100 PRINT"PRESS SPACE TO CONTINUE.":POKE198,. 1110 IFPEEK(203)<>60THEN1110 1120 FORA=1TO3:GOSUB70:NEXT 1130 FR=2:FC=2:TR=22:TC=37:RV=.:GOSUB50 1140 PRINT"WINDOWS IS A MACHINE LANGUAGE " 1150 PRINT"ROUTINE THAT CAN SAVE, CLEAR, " 1160 PRINT"AND PUT A BORDER AROUND A " 1170 PRINT"RECTANGULAR AREA OF THE SCREEN." 1180 PRINT"IT ALSO LETS YOU RESTORE AN " 1190 PRINT"AREA THAT HAS BEEN SAVED. " 1200 PRINT"THE FOLLOWING IS THE SYNTAX: " 1210 PRINT"[158]SYS WI,FR,FC,TR,TC,AD,FU,CO,RV" 1220 PRINT"WI WILL ALWAYS BE 52496. THIS" 1230 PRINT"IS WHERE THE MACHINE LANGUAGE" 1240 PRINT"IS LOCATED IN MEMORY." 1250 PRINT" [159]PRESS SPACE TO CONTINUE":POKE198,. 1260 IFPEEK(203)<>60THEN1260 1270 GOSUB90:GOSUB70 1280 FR=2:FC=2:TR=22:TC=37:RV=.:GOSUB50 1290 PRINT"[158]SYS WI,UR,UC,LR,LC,AD,FU,CO,RV" 1300 PRINT"UR IS THE UPPER LEFT ROW" 1310 PRINT"NUMBER. (0 - 24)" 1320 PRINT"[158]UC IS THE UPPER LEFT COLUMN" 1330 PRINT"NUMBER. (0 - 39) 1340 [153]"SYSLR IS THE LOWER RIGHT ROW" 1350 [153]"NUMBER. (UR - 24) 1360 PRINT"[158]LC IS THE LOWER RIGHT COLUMN" 1370 PRINT"NUMBER. (UC - 39) 1380 [153]" OPENPRESS SPACE TO CONTINUE":[151]198,. 1390 [139][194](203)[179][177]60[167]1390 1400 [141]90:[141]70 1405 FR[178]2:FC[178]2:TR[178]22:TC[178]37:RV[178].:[141]50 1410 [153]"SYSSYS WI,UR,UC,LR,LC,AD,FU,CO,RV" 1420 [153]"AD IS THE ADDRESS WHERE YOU" 1430 [153]"WANT THE WINDOW DATA STORED." 1440 [153]"NOTE YOU CAN STORE DATA IN THE" 1450 [153]"RAM UNDER BASIC ROM AT" 1460 [153]"ADDRESSES 40960 - 49151." 1470 [153]"YOU CAN FIND THE NEXT AVAILABLE" 1480 [153]"ADDRESS FOR STORING A WINDOW" 1490 [153]"BY USING THE FOLLOWING FORMULA:" 1500 [153]" SYSAD=(LR-UR+1)*(LC-UC+1)*2" 1510 [153]"THIS FORMULA COMES IN HANDY" 1520 [153]"WHEN YOU WISH TO SAVE MULTIPLE" 1530 [153]"WINDOWS IN A 'WINDOW AREA'." 1540 [153]" OPENPRESS SPACE TO CONTINUE":[151]198,. 1550 [139][194](203)[179][177]60[167]1550 1560 [141]90:[141]70 1570 FR[178]2:FC[178]2:TR[178]22:TC[178]37:RV[178].:[141]50 1580 [153]"SYSSYS WI,UR,UC,LR,LC,AD,FU,CO,RV" 1590 [153]"SYSFU IS THE FUNCTION THAT THE" 1600 [153]"WINDOW WILL PERFORM AND IS" 1610 [153]"AS FOLLOWS:" 1630 [153]"BITS VALUE WHAT IT DOES" 1640 [153]"---- ----- ------------" 1650 [153]" 0 1 SAVE WINDOW" 1660 [153]" 1 2 CLEAR WINDOW" 1670 [153]" 2 4 BORDER WINDOW" 1680 [153]" 3 8 RESTORE WINDOW" 1690 [153]" 4 16 CHANGE COLOR" 1700 [153]" 5 32 /UNUSED/" 1710 [153]" 6 64 /UNUSED/" 1720 [153]" 7 128 /UNUSED/" 1730 [153]" OPENPRESS SPACE TO CONTINUE":[151]198,. 1740 [139][194](203)[179][177]60[167]1740 1750 [141]90:[141]70 1760 FR[178]2:FC[178]2:TR[178]22:TC[178]37:RV[178].:[141]50 1770 [153]"SYSSYS WI,UR,UC,LR,LC,AD,FU,CO,RV" 1780 [153]"CO IS THE BORDER COLOR AND" 1790 [153]"IS ONLY USED WHEN BIT 2 OF THE" 1800 [153]"FUNCTION IS SET." 1810 [153]"SYSRV WILL FILL THE WINDOW" 1820 [153]"WITH A SPACE (IF IT'S ZERO)" 1830 [153]"OR A REVERSED SPACE (IF IT'S" 1840 [153]"A NON-ZERO NUMBER). IF A" 1850 [153]"NON-ZERO NUMBER IS USED, THE" 1860 [153]"WINDOW WILL BE REVERSED IN THE" 1870 [153]"COLOR THAT CORRESPONDS TO" 1880 [153]"THE NUMBER USED." 1890 [153]" OPENPRESS SPACE TO CONTINUE":[151]198,. 1900 [139][194](203)[179][177]60[167]1900 1910 [141]90:[141]70 1920 FR[178]2:FC[178]2:TR[178]22:TC[178]37:RV[178].:[141]50 1930 [153]"SYSSYS WI,UR,UC,LR,LC,AD,FU,CO,RV" 1940 [153]"FINALLY, THE LAST FEATURE," 1950 [153]"NOT SHOWN ABOVE, IS OPTIONAL." 1960 [153]"IT LETS YOU CHANGE THE COLOR" 1970 [153]"OF THE WINDOW AREA TO ANY OF" 1980 [153]"THE 16 COLORS BY WIPING THE" 1990 [153]"COLOR MEMORY AREA." 2000 [153]"TO USE THIS OPTIONAL FEATURE," 2010 [153]"ADD SYS,TC TO THE END OF THE" 2020 [153]"SYSSYS STATEMENT; WHERE SYSTC IS" 2030 [153]"THE COLOR YOU WANT THE WINDOWED" 2040 [153]"AREA TO BECOME." 2050 [153]" OPENPRESS SPACE TO CONTINUE":[151]198,. 2060 [139][194](203)[179][177]60[167]2060 2070 [141]90:[141]70 2080 FR[178]2:FC[178]2:TR[178]22:TC[178]37:RV[178].:[141]50 2090 [153]"SYS WINDOWS BY MIKE MAYNARD" 2100 [153]"FOR A MORE IN-DEPTH ARTICLE" 2110 [153]"ON THE WINDOW ROUTINE, CHOOSE" 2120 [153]"'READ IT' FROM THE LOADSTAR" 2125 [153]"MENU." 2130 [153]" 1CONT) RE-READ WINDOW DOCS" 2140 [153]" 2CONT) MULTI-WINDOWS DEMO" 2150 [153]" 3CONT) PULL-DOWN MENUS DEMO" 2160 [153]" 4CONT) RETURN TO LOADSTAR" 2170 [153]" CONTCHOOSE 1CONT, 2CONT, 3CONT OR 4CONT. " 2180 [161]A$:[139]A$[178]""[167]2180 2190 A[178][197](A$):[139]A[179]1[176]A[177]4[167]2180 2195 [145] A [137] 6000,3000,4000,5000 3000 [153]"ON CREATING MULTIPLE WINDOWS!" 3010 FR[178][181]([187](.)[172]10) 3020 FC[178][181]([187](.)[172]17) 3030 TR[178][181]([187](.)[172]13)[170]FR[170]3 3040 TC[178][181]([187](.)[172]20)[170]FC[170]3 3050 CO[178][181]([187](.)[172]15)[170]1 3060 RV[178][181]([187](.)[172]15)[170]1 3070 FU[178]7:[141]50 3080 [139]AD[179]49152[167]3010 3090 FR[178]19:FC[178].:TR[178]24:TC[178]39:FU[178]7:CO[178]1: A[178]AD:AD[178]50496:RV[178]14:[141]50 3100 [153]"CONT "N"WINDOWS WERE CREATED!!" 3110 [153]" PRESS ANY KEY TO RESTORE ALL WINDOWS" 3120 [151]198,.:[146]198,1 3130 [141]70:AD[178]A 3140 [129]B[178]1[164]N[171]1:[141]70:[130] 3150 [129]Z[178]1[164]4:[141]90:[141]95:[130] 3250 [153]"";:[137]2170 4000 [153]"ON ^^^ LOOK UP! ^^^" 4010 [153]" TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(" 4020 FR[178].:FC[178].:TR[178]2:TC[178]39:CO[178]6:RV[178]1:[141]50 4030 [153]" MENU 1 MENU 2 MENU 3 MENU 4" 4040 [129]L1[178]1000[164][171]400[169][171]200 4050 [129]L2[178]1[164]4 4060 [145] L2 [141] 4500,4600,4700,4800 4070 [129]L3[178]1[164]L1:[130]:[141]70 4080 [130]:[130]:[141]70 4090 [153]" ONONON" 4095 [137]2170 4500 TR[178][181]([187](.)[172]16)[170]4 4505 FR[178]2:FC[178].:TC[178]9:CO[178]6:RV[178]1:[141]50 4510 [153]"" 4520 [129]A[178]1[164]TR[171]FR[171]1:[153][163]1)"ITEM"A:[130] 4530 [142] 4600 TR[178][181]([187](.)[172]16)[170]4 4605 FR[178]2:FC[178]10:TC[178]19:CO[178]6:RV[178]1:[141]50 4610 [153]"" 4620 [129]A[178]1[164]TR[171]FR[171]1:[153][163]11)"ITEM"A:[130] 4630 [142] 4700 TR[178][181]([187](.)[172]16)[170]4 4705 FR[178]2:FC[178]20:TR[178]12:TC[178]29:CO[178]6:RV[178]1:[141]50 4710 [153]"" 4720 [129]A[178]1[164]TR[171]FR[171]1:[153][163]21)"ITEM"A:[130] 4730 [142] 4800 TR[178][181]([187](.)[172]16)[170]4 4805 FR[178]2:FC[178]30:TR[178]8:TC[178]39:CO[178]6:RV[178]1:[141]50 4810 [153]"" 4820 [129]A[178]1[164]TR[171]FR[171]1:[153][163]31)"ITEM"A:[130] 4830 [142] 4999 [128] 5000 FR[178]10:FC[178].:TR[178]14:TC[178]39:CO[178]1:RV[178]2: [141]50 5010 [153]"ARE YOU SURE YOU WANT TO QUIT? (Y/N)":[151]198,. 5020 A[178][194](203):[139]A[179][177]25[175]A[179][177]39[167]5020 5030 [139]A[178]39[167][141]70:[137]2180 5040 [159]15,8,15,"R0:HELLO CONNECT=HELLO CONNECT":[132]15,ER:[160]15 5050 [139]ER[179][177]63[167][128] 5060 [147]"HELLO CONNECT",8 6000 [138] 15